package com.kobe.Pact.domain;

import cn.hutool.core.date.DateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.kobe.common.annotation.Excel;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class PactUser {
    /** ID */
    private Long projectId;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectNum;

    /** 项目类型(1中标，2其他) */
    @Excel(name = "项目类型(1中标，2其他)")
    private String projectType;

    /** 项目地址 */
    @Excel(name = "项目地址")
    private String address;

    /** 项目总款 */
    @Excel(name = "项目总款")
    private BigDecimal funds;

    /** 项目负责人 */
    @Excel(name = "项目负责人")
    private String functionary;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date beginTime;

    /** 结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finishTime;
    /** 合同签订日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同签订日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signTime;
    /** 交货期 */
    @Excel(name = "交货期")
    private String delivery;

    /** 质保期 */
    @Excel(name = "质保期")
    private String guarantee;

    /** 项目介绍 */
    @Excel(name = "项目介绍")
    private String introduction;

    /** 优先级（0一般 1中 2高） */
    @Excel(name = "优先级", readConverterExp = "0=一般,1=中,2=高")
    private String projectGrade;

    /** 状态（0进行中 1完结） */
    @Excel(name = "状态", readConverterExp = "0=进行中,1=完结")
    private String projectStatus;

    /** 关联合同ID */
    @Excel(name = "关联合同ID")
    private Long contractId;

    /** 开票单位名称 */
    @Excel(name = "开票单位名称")
    private String invoiceName;

    /** 纳税人识别号 */
    @Excel(name = "纳税人识别号")
    private String invoiceNumber;

    /** 开票地址电话 */
    @Excel(name = "开票地址电话")
    private String invoiceAddress;

    /** 开户行及账号 */
    @Excel(name = "开户行及账号")
    private String invoiceBank;

    /** 附件 */
    @Excel(name = "附件")
    private String accessory;

    /** 履约保证金 */
    @Excel(name = "履约保证金")
    private String bail;

    @Excel(name = "remark")
    private String remark;
    //创建人
    private String createBy;
    //创建时间
    private Date createTime;
    //更新人
    private String updateBy;
    //更新时间
    private Date updateTime;
}
